package com.leexuan.ordersystem.actions;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.leexuan.ordersystem.beans.Product;
import com.leexuan.ordersystem.db.ProductDB;

public class AddOrderProductAction extends Action {

	public AddOrderProductAction() {
		super();
	}

	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {

		int pid = Integer.parseInt(request.getParameter("pid"));
		int ordernum = Integer.parseInt(request.getParameter("ordernum"));

		ProductDB db = new ProductDB();
		HttpSession session = request.getSession();

		ArrayList arraylist = (ArrayList) (session.getAttribute("orderDetail"));

		if (arraylist == null) {
			arraylist = new ArrayList();
		} else {
			session.removeAttribute("orderDetail");
		}

		try {
			db.getConnection();

			Product pt = db.getProduct(pid);
			pt.setNum(ordernum);

			arraylist.add(pt);

			session.setAttribute("orderDetail", arraylist);

			return mapping.findForward("success");

		} catch (Exception e) {

			return (new ActionForward(mapping.getInput()));
		} finally {
			try {
				db.closeConnection();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}

	}

}
